// login.js
const app = getApp();
const api = require('../../utils/api.js');

Page({
  data: {
    loading: false,
    errorMessage: ''
  },
  
  onLoad() {
    // 检查是否已登录
    if (app.globalData.userInfo) {
      this.navigateToIndex();
    }
  },
  
  // 微信登录
  wxLogin() {
    this.setData({ loading: true, errorMessage: '' });
    
    // 获取用户信息
    wx.getUserProfile({
      desc: '用于完善用户资料',
      success: (res) => {
        const userInfo = res.userInfo;
        
        // 调用微信登录接口
        wx.login({
          success: (loginRes) => {
            if (loginRes.code) {
              // 发送 code 到后台进行登录验证
              wx.request({
                url: api.apiEndpoints.wechatLoginUrl(),
                method: 'POST',
                data: {
                  code: loginRes.code,
                  userInfo: userInfo
                },
                success: (result) => {
                  if (result.data.success) {
                    // 登录成功，保存用户信息
                    const userData = result.data.data;
                    app.globalData.userInfo = {
                      ...userInfo,
                      userId: userData.userId,
                      openId: userData.openId
                    };
                    
                    // 保存登录状态到本地
                    wx.setStorageSync('userInfo', app.globalData.userInfo);
                    
                    // 登录成功，跳转到首页
                    this.navigateToIndex();
                  } else {
                    this.setData({
                      loading: false,
                      errorMessage: '登录失败: ' + (result.data.message || '未知错误')
                    });
                  }
                },
                fail: (err) => {
                  this.setData({
                    loading: false,
                    errorMessage: '网络请求失败: ' + err.errMsg
                  });
                }
              });
            } else {
              this.setData({
                loading: false,
                errorMessage: '获取微信登录code失败'
              });
            }
          },
          fail: (err) => {
            this.setData({
              loading: false,
              errorMessage: '微信登录失败: ' + err.errMsg
            });
          }
        });
      },
      fail: (err) => {
        this.setData({
          loading: false,
          errorMessage: '获取用户信息失败: ' + (err.errMsg || '用户拒绝授权')
        });
      }
    });
  },
  
  // 跳转到首页
  navigateToIndex() {
    wx.switchTab({
      url: '/pages/index/index'
    });
  }
});
